package muni.ilo.service;
// un servicio es un componente que encapsula la liguca del negocio  de nuestra aplicacion
// por cada caso de uso de analisis, tendremos un service
// tendra las operaciones necesarias para impremmentar el caso de uso 

import java.util.*;

import muni.ilo.dao.ContribuyenteDAO_I;
import muni.ilo.dao.DAOFactory;
import muni.ilo.dto.ContribuyenteDTO;





public class ContribuyenteDaoService implements ContribuyenteIFService {
	private ContribuyenteDAO_I dao;
	DAOFactory fabrica = null;
	
	public ContribuyenteDaoService(int witcFactory){
		fabrica = DAOFactory.getDAOFactory(witcFactory);
		this.dao = fabrica.getContribuyenteDAO();
	}
	
	public List<ContribuyenteDTO> listaPorNombre(String codCont) 
											throws Exception{

		List<ContribuyenteDTO> cliente = new ArrayList<ContribuyenteDTO>();
		cliente = dao.listaPorNombre(codCont);

		return cliente;
	}
	public List<ContribuyenteDTO> listaContribuyente(ContribuyenteDTO cli) 
									throws Exception{
		
		List<ContribuyenteDTO> contribuyente = new ArrayList<ContribuyenteDTO>();
		
		contribuyente = 
			dao.listaPorNombre(cli.getNombre());
		
		return contribuyente;
	}
	
	public String eliminarContribuyente(ContribuyenteDTO cont) 
									throws Exception{
		String strResp = null;
		strResp = dao.eliminarContribuyente(cont.getCodigo());
		return strResp;
	}

	
	public String insertarContribuyente(ContribuyenteDTO cont) throws Exception {
		String strResp = null;
		strResp = dao.registrarContribuyente(cont);
		return strResp;
	}

	public ContribuyenteDTO buscarContribuyentePorCodigo(String cod)
									throws Exception {
		return dao.buscarContribuyentePorCodigo(cod);
	}

	
	public String modificar(ContribuyenteDTO cli) throws Exception {
		String strResp = null;
		strResp = dao.modificar(cli);
		return strResp;
	}

}
